package com.cnctema.easecalendar_weekly_view.utils

import android.content.Context
import com.cnctema.easecalendar_weekly_view.R
import org.joda.time.DateTime
import org.joda.time.DateTimeZone

/**
 * @Title: Constants
 * @Description: 格式转换工具类
 * @Author: cnctema
 * @CreateDate: 2020/5/24 21:45
 */
object FormatterUtils {
    val DAYCODE_PATTERN = "yyyy年M月d日"
    val TIME_12_PATTERN = "HH:mm a"
    val TIME_24_PATTERN = "HH:mm"
    val DATE_TIME_PATTERN = "yyyy年M月d日 HH:mm"
    val DATE_TIME_PATTERN_2 = "M月d日 HH:mm"

    // 日期转换工具方法
    fun getDateTimeFromTS(ts: Long) = DateTime(ts * 1000L, DateTimeZone.getDefault())

    // 使用手动翻译的月份名称，因为DateFormat和Joda在多语言支持上有问题
    fun getMonthName(context: Context, id: Int) = context.resources.getStringArray(R.array.months)[id - 1]

    // 时间转化为24小时格式字符串
    fun getTimeString_24(dateTime: DateTime):String{
        val hourStr = (dateTime.hourOfDay % 24).toString()
        return if(hourStr.length == 2) "${hourStr}:${dateTime.toString("mm")}" else "0$hourStr:${dateTime.toString("mm")}"
    }

    //获取当前周视图列的星期数
    fun getDayLetter(context: Context, id: Int) = context.resources.getStringArray(R.array.dayLetter)[id-1]

}